Three-dimensional (3D) television has been a technology trend in recent years that intends to bring viewers sensational viewing experience. Various technologies have been developed to enable 3D viewing. Among them, the multi-view video is a key technology for 3D TV application among others. The traditional video is a two-dimensional (2D) medium that only provides viewers a single view of a scene from the perspective of the camera. However, the multi-view video is capable of offering arbitrary viewpoints of dynamic scenes and provides viewers the sensation of realism.
In 3D video coding, depth information associated with the underlying texture images is useful for improving the coding efficiency as well as for rendering of synthesized views. The statistical distribution of depth data for typical scenes is usually sparse. Some depth values may not occur in depth maps. Accordingly, Simplified Depth Coding (SDC) and Depth Lookup Table (DLT) have been adopted in the HEVC-based Test Model (HTM), where HEVC refers to the emerging video coding standard—High Efficiency Video Coding. In the HTM, for each CU (coding unit), the prediction residual of depth data is usually transform coded. However, the HTM also supports a transform skip mode for the depth data to bypass the transform. When the SDC mode is selected, a set of four different prediction modes is available. After an optimal prediction mode is selected among the four modes, the residual is formed accordingly. In the SDC mode, the transform is not applied to the prediction residual either. Since the SDC prediction process always results in one or two depth segments per coded block, a single residual DC depth value is coded for each of these segments. Furthermore, a DLT is used to map coded depth values in SDC to valid depth values of the original depth map. At the encoder side, the DLT can be constructed based on an initial analysis of the input depth map. The DLT is then coded in the sequence parameter set (SPS).
The DLT is an optional coding tool for depth map coding. According to the current HTM, the encoder will not use the DLT coding tool if all depth values from 0 to the maximum depth value (e.g. 255) appear in the original depth map during the analysis step. Otherwise, the DLT will be coded in the sequence parameter set (SPS). FIG. 1 illustrates an example of DLT coding process. In order to code the DLT, the number of valid depth values (i.e., 5 in this example) is coded using Exp-Golomb code first. Then, each valid depth value (i.e., a depth value selected from 50, 108, 110, 112 and 200 in this example) is coded using Exp-Golomb code as well. Table 1 illustrates the syntax for DLT coding according to the HTM. Syntax element, dlt_flag[i] indicates whether the DLT coding tool is used for the depth sequence indicated by layer i. If the flag indicates that the DLT coding tool is used (i.e., dlt_flag[i]=1), syntax element num_depth_values_in_dlt[i] is used to indicate the number of table values in the DLT. The table values in the DLT are then included in the bitstream.
TABLE 1dlt_flag[ i ]u(1)if( dlt_flag[ i ] ) {num_depth_values_in_dlt[ i ]ue(v)for ( j = 0; j < num_depth_values_in_dlt ; j++) {dlt_depth_value[ i ][ j ]ue(v)}}
Exp-Golomb code is efficient when smaller values have higher probabilities of occurrence. However, that is not the case for valid depth values. As a result, Exp-Golomb codes may not be efficient for DLT coding. In the common test condition, four sequences, i.e., Balloons, Kendo, Newspapercc and PoznanHall are determined to use the DLT coding tool, while the other three are determined not to use the DLT coding tool. Statistics are collected based on the four sequences. As shown in Table 2, DLT requires 557.33 bits in average, which account for more than 65% bits of SPS for depth components. In other words, the DLT coding contributes a majority portion of bits in SPS for depth components. When the SPS carries the DLT, the SPS size becomes much larger than the SPS without the DLT.
TABLE 2DLT Size (bits)SPS Size (bits)D/S (%)BalloonsV0_depth55584565.68%V1_depth64193768.41%V2_depth61791567.43%KendoV0_depth48577562.58%V1_depth63793368.27%V2_depth64994768.53%NewspaperccV0_depth60689667.63%V1_depth62191767.72%V2_depth69699470.02%PoznanHall2V0_depth42071258.99%V1_depth38067856.05%V2_depth38168155.95%Average557.33852.5065.38%
Accordingly, it is desirable to develop a new DLT coding tool that will improve the coding efficiency of the DLT.